var utils = require('../../utils/utils.js');
Page({

  /**
   * 页面的初始数据
   */
  data: {
    info: [],
    buy_count: 1,
    check_sku_id: [],// 选中的属性id
    check_sku_title: [],// 选中的属性名称
    sku_title: '',
    all_check: false,// 是否全部选中
    confirm_btn: false,// 确认按钮是否可以点击,
    sku_value_list_index: -1,//选中组合的下标；sku_value_list
    sku_img: '',//规格-属性弹框 封面图
    sku_price_section: '',//规格-属性弹框 价格区间
    sku_stock_sction: '',//规格-属性弹框 库存区间
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.request({
      url: 'http://www.tp5.com/index/index/skuApi',
      method: 'POST',
      data: {
        id: 1
      },
      header: {
        'content-type': 'application/x-www-form-urlencoded' // 默认值
      },
      success: res => {
        var info = res.data.data;

        var check_sku = [];
        for (var i = 0; i < info.sku_list.length; i++) {
          check_sku[i] = '';
        }
        console.log(info);
        // 价格区间
        var sku_price_section = utils.getSection(info.sku_value_list, 'price', 'status', 'float');
        // 库存区间
        var sku_stock_sction = utils.getSection(info.sku_value_list, 'stock', 'status');
        // 封面图
        var sku_img = info.info.img;

        this.setData({
          info: info,
          check_sku: check_sku,
          sku_img: sku_img,
          sku_price_section: sku_price_section,
          sku_stock_sction: sku_stock_sction
        })
      }
    })
  },

  // 选择属性
  chooseSku: function (e) {
    var id = e.currentTarget.dataset.id,// 属性ID
      title = e.currentTarget.dataset.title,//属性名
      outer = e.currentTarget.dataset.outer,// 规格下标
      inner = e.currentTarget.dataset.inner,// 属性下标
      status = e.currentTarget.dataset.status,// 所点击属性是否禁用状态
      info = this.data.info,// 商品信息
      sku_list = info.sku_list,// 规格-属性
      sku_value_list = info.sku_value_list,// 规格-属性 组合数据
      sku_value_list_index = this.data.sku_value_list_index,//规格-属性 组合数据 下标
      sku_img = this.data.sku_img,//规格-属性 弹框 封面图
      sku_price_section = this.data.sku_price_section,//规格-属性 弹框 价格
      sku_stock_sction = this.data.sku_stock_sction,
      check_sku_id = this.data.check_sku,// 选中的属性id
      check_sku_title = this.data.check_sku_title,// 选中的属性名称
      all_check = this.data.all_check,// 是否全部选中
      confirm_btn = this.data.confirm_btn,// 确认按钮是否可以点击
      buy_count = this.data.buy_count;// 购买数量

    //选中的 属性ID/名称 进行赋值
    check_sku_id[outer] = id;
    check_sku_title[outer] = title;

    if (status) {
      //属性选中控制
      sku_list[outer].child.forEach(function (val) {
        val.class = '';
      })
      sku_list[outer].child[inner].class = 'active';

      info.sku_list = sku_list;

      /**
       * 1：控制确认按钮是否可以点击[all_check][confirm_btn]
       * 2：封面图，最低价，最低库存，已选属性 显示控制
       **/
      for (var i = 0; i < sku_value_list.length; i++) {
        if (check_sku_id.join('-') == sku_value_list[i].sku_id) {
          // ------------- 1 -------------
          if (sku_value_list[i].status && sku_value_list[i].stock >= buy_count) {
            all_check = true;
            confirm_btn = true;
          } else {
            all_check = false;
            confirm_btn = false;
          }

          // ------------- 2 -------------
          sku_value_list_index = i;

          sku_img = sku_value_list[i].img;
          sku_price_section = sku_value_list[i].price;
          sku_stock_sction = sku_value_list[i].stock;
          break;
        }
      }

      this.setData({
        info: info,
        sku_value_list_index: sku_value_list_index,
        sku_img: sku_img,
        sku_price_section: sku_price_section,
        sku_stock_sction: sku_stock_sction,
        sku_title: check_sku_title.join(' / '),
        all_check: all_check,
        confirm_btn: confirm_btn
      })
    }
  },

  // 加、减购买数量
  changeBuyCount: function (e) {
    var type = e.currentTarget.dataset.type,
      buy_count = type == 'inc' ? ++this.data.buy_count : --this.data.buy_count,
      sku_value_list = this.data.info.sku_value_list,
      sku_value_list_index = this.data.sku_value_list_index,
      sku_stock_sction = this.data.sku_stock_sction,
      all_check = false,
      confirm_btn = false;

    if (sku_value_list_index > -1) {
      if (sku_value_list[sku_value_list_index].status && sku_stock_sction >= buy_count) {
        var all_check = true;
        var confirm_btn = true;
      }
    }

    this.setData({
      buy_count: buy_count,
      all_check: all_check,
      confirm_btn: confirm_btn
    })
  },

})